/**   
* @Title: ContentCatgoryServiceImpl.java 
* @Package com.taotao.service.impl 
* @Description: TODO(用一句话描述该文件做什么) 
* @author hekai   
* @date 2017年2月27日 下午9:16:17 
* @version V1.0   
*/
package com.taotao.service.impl;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.taotao.common.pojo.EasyUITreeNode;
import com.taotao.common.pojo.TaotaoResult;
import com.taotao.mapper.TbContentCategoryMapper;
import com.taotao.pojo.TbContentCategory;
import com.taotao.pojo.TbContentCategoryExample;
import com.taotao.pojo.TbContentCategoryExample.Criteria;
import com.taotao.service.ContentCategoryService;

/** 
* @ClassName: ContentCatgoryServiceImpl 
* @Description: TODO(这里用一句话描述这个类的作用) 
* @author hekai
* @date 2017年2月27日 下午9:16:17 
*  
*/
@Service
public class ContentCatgoryServiceImpl implements ContentCategoryService {
	
	@Autowired
	private TbContentCategoryMapper tbContentCategoryMapper;

	/* (non-Javadoc)
	 * @see com.taotao.service.ContentCatgoryService#getContentCatList(java.lang.Long)
	 */
	@Override
	public List<EasyUITreeNode> getContentCateList(Long parentId) {

		//根据parentId查询子节点列表
		TbContentCategoryExample example = new TbContentCategoryExample();
		Criteria criteria = example.createCriteria();
		criteria.andParentIdEqualTo(parentId);
		//执行查询
		List<TbContentCategory> list = tbContentCategoryMapper.selectByExample(example);
		//转换成EasyUITreeNode列表
		List<EasyUITreeNode> resultList = new ArrayList<>();
		for (TbContentCategory tbContentCategory : list) {
			EasyUITreeNode node = new EasyUITreeNode();
			node.setId(tbContentCategory.getId());
			node.setText(tbContentCategory.getName());
			node.setState(tbContentCategory.getIsParent() ? "closed" : "open");
			resultList.add(node);
		}
		
		return resultList;
	}
	
	/* (non-Javadoc)
	 * @see com.taotao.service.ContentCategoryService#insertCatgory(java.lang.Long, java.lang.String)
	 */
	@Override
	public TaotaoResult insertCatgory(Long parentId, String name) {
		
		TbContentCategory category = new TbContentCategory();
		category.setParentId(parentId);
		category.setName(name);
		//1.正常，2.删除
		category.setStatus(1);
		category.setIsParent(false);
		//排列序号，表示同级类目的展现次序，如数值相等则按名称次序排列。取值范围:大于零的整数
		category.setSortOrder(1);
		category.setCreated(new Date());
		category.setUpdated(new Date());
		tbContentCategoryMapper.insert(category);
		//返回主键
		Long id = category.getId();
		//判断父节点的isparent属性
		//查询父节点
		TbContentCategory parentNode = tbContentCategoryMapper.selectByPrimaryKey(parentId);
		if(!parentNode.getIsParent()){
			parentNode.setIsParent(true);
			//更新父节点
			tbContentCategoryMapper.updateByPrimaryKey(parentNode);
		}
		//返回主键
		return TaotaoResult.ok(id);
	}

}

















































